Power state change in disk drive based on disk access history

ABSTRACT

A data storage device that includes a magnetic storage device selects one or more power states of the magnetic storage device based on a time interval since a most recent time data has been read from or written to the magnetic storage device. The power state of the magnetic storage device can be changed from a higher power consumption state to a lower power consumption state when the time interval exceeds a predetermined value. The power consumption state may be changed from an active servo state to an intermediate power consumption state, a park state, and/or a standby state, depending on the time elapsed since the most recent time data has been read from or written to the magnetic storage device.

BACKGROUND

Disk drives primarily store digital data in concentric tracks on thesurface of a data storage disk and are commonly used for data storage inelectronic devices. The data storage disk is typically a rotatable harddisk with a layer of magnetic material thereon, and data are read fromor written to a desired track on the data storage disk using aread/write head that is held proximate to the track while the disk spinsabout its center at a constant angular velocity. To properly align theread/write head with a desired track during a read or write operation,disk drives generally use a closed-loop servo system that relies onservo data stored in servo sectors written on the disk surface when thedisk drive is manufactured.

Some operations in a disk drive use a significant amount of energy, evenwhen read or write commands are not being serviced by the disk drive.For example, continuously spinning the data storage disk requiresapproximately the same power whether or not read or write commands arebeing performed. Similarly, actively controlling read/write headposition with the servo system involves performing servo sampling,signal processing, and associated decoding with a read channel, all ofwhich utilize substantial computational resources, independent of reador write commands. Because disk drives are frequently used in portableelectronic devices in which available power is limited, such as laptopcomputers, restricting such energy-intensive operations in a disk driveis generally desirable.

SUMMARY

One or more embodiments provide systems and methods for storing data ina data storage device that includes a magnetic storage device. Duringoperation, the data storage device selects one or more power states ofthe magnetic storage device based on a time interval since a most recenttime data has been read from or written to the magnetic storage device.Specifically, the power state of the magnetic storage device can bechanged from a higher power consumption state to a lower powerconsumption state when the time interval exceeds a predetermined value.For example, the power consumption state may be changed from an activeservo state to an intermediate power consumption state, a park state,and/or a standby state, depending on the time elapsed since a mostrecent time data has been read from or written to the magnetic storagedevice.

A method of power management in a data storage device that includes amagnetic storage device comprises, according to one embodiment,measuring a time interval since a most recent time data has been readfrom or written to the magnetic storage device, and, in response to thetime interval exceeding a predetermined value, changing a current powerconsumption state of the magnetic storage device to a lower powerconsumption state.

According to another embodiment, a data storage device comprises amagnetic storage device and a controller. The controller is configuredto measure a time interval since a most recent time data has been readfrom or written to the magnetic storage device, and, in response to thetime interval exceeding a predetermined value, change a current powerconsumption state of the magnetic storage device to a lower powerconsumption state.

According to another embodiment, a data storage device comprises amagnetic storage device, a non-volatile solid-state device, and acontroller. The controller is configured to determine that a portion ofthe non-volatile solid-state device used to store data that are not alsostored on the magnetic storage device is greater than a predeterminedvalue, change a power state of the magnetic storage device from aninitial power state to an active servo state, the initial power statebeing a lower power state than the active servo state, and control thewriting to the magnetic storage device of at least a portion of the datathat are not also stored on the magnetic storage device.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of theembodiments can be understood in detail, a more particular descriptionof the embodiments, briefly summarized above, may be had by reference tothe appended drawings. It is to be noted, however, that the appendeddrawings illustrate only typical embodiments and are therefore not to beconsidered limiting of its scope, for there may be other equallyeffective embodiments.

FIG. 1 is a schematic view of an exemplary disk drive, according to oneembodiment.

FIG. 2 illustrates an operational diagram of a disk drive with elementsof electronic circuits shown configured according to one embodiment.

FIG. 3 illustrates a power-state diagram of the disk drive of FIG. 1.

FIG. 4 sets forth a flowchart of method steps for power management in adata storage device that includes a magnetic storage device, accordingto one or more embodiments.

For clarity, identical reference numbers have been used, whereapplicable, to designate identical elements that are common betweenfigures. It is contemplated that features of one embodiment may beincorporated in other embodiments without further recitation.

DETAILED DESCRIPTION

FIG. 1 is a schematic view of an exemplary disk drive, according to oneembodiment. For clarity, disk drive 100 is illustrated without a topcover. Disk drive 100 includes at least one storage disk 110 that isrotated by a spindle motor 114 and includes a plurality of concentricdata storage tracks. Spindle motor 114 is mounted on a base plate 116.An actuator arm assembly 120 is also mounted on base plate 116, and hasa slider 121 mounted on a flexure arm 122 with a read/write head 127that reads data from and writes data to the data storage tracks. Flexurearm 122 is attached to an actuator arm 124 that rotates about a bearingassembly 126. Voice coil motor 128 moves slider 121 relative to storagedisk 110, thereby positioning read/write head 127 over the desiredconcentric data storage track disposed on the surface 112 of storagedisk 110. Spindle motor 114, read/write head 127, and voice coil motor128 are coupled to electronic circuits 130, which are mounted on aprinted circuit board 132. Electronic circuits 130 include a read/writechannel 137, a microprocessor-based controller 133, random-access memory(RAM) 134 (which may be a dynamic RAM and is used as a data buffer),and/or a flash memory device 135 and flash manager device 136. In someembodiments, read/write channel 137 and microprocessor-based controller133 are included in a single chip, such as a system-on-chip 131. In someembodiments, disk drive 100 may further include a motor-driver chip 125,which accepts commands from microprocessor-based controller 133 anddrives both spindle motor 114 and voice coil motor 128.

For clarity, disk drive 100 is illustrated with a single storage disk110 and a single actuator arm assembly 120. Disk drive 100 may alsoinclude multiple storage disks and multiple actuator arm assemblies. Inaddition, each side of storage disk 110 may have an associatedread/write head coupled to a flexure arm.

When data are transferred to or from storage disk 110, actuator armassembly 120 sweeps an arc between an inner diameter (ID) and an outerdiameter (OD) of storage disk 110. Actuator arm assembly 120 acceleratesin one angular direction when current is passed in one direction throughthe voice coil of voice coil motor 128 and accelerates in an oppositedirection when the current is reversed, thereby allowing control of theposition of actuator arm assembly 120 and attached read/write head 127with respect to storage disk 110. Voice coil motor 128 is coupled with aservo system known in the art that uses the positioning data read fromservo wedges on storage disk 110 by read/write head 127 to determine theposition of read/write head 127 over a specific data storage track. Theservo system determines an appropriate current to drive through thevoice coil of voice coil motor 128, and drives said current using acurrent driver and associated circuitry.

Disk drive 100 may be configured as a disk drive, in which non-volatiledata storage is generally only performed using storage disk 110 intypical operation. Alternatively, disk drive 100 may be configured as ahybrid drive, in which non-volatile data storage can be performed usingstorage disk 110 and/or flash memory device 135. In a hybrid drive,non-volatile memory, such as flash memory device 135, supplements thespinning storage disk 110 to provide faster boot, hibernate, resume andother data read-write operations, as well as lower power consumption.Such a hybrid drive configuration is particularly advantageous forbattery operated computer systems, such as mobile computers or othermobile computing devices. In a preferred embodiment, flash memory device135 is a non-volatile solid state storage medium, such as a NAND flashchip that can be electrically erased and reprogrammed, and is sized tosupplement storage disk 110 in disk drive 100 as a non-volatile storagemedium. For example, in some embodiments, flash memory device 135 hasdata storage capacity that is orders of magnitude larger than RAM 134,e.g., gigabytes (GB) vs. megabytes (MB).

FIG. 2 illustrates an operational diagram of disk drive 100 withelements of electronic circuits 130 shown configured according to oneembodiment. As shown, disk drive 100 includes RAM 134, flash memorydevice 135, a flash manager device 136, system-on-chip 131, and ahigh-speed data path 138. Disk drive 100 is connected to a host 10, suchas a host computer, via a host interface 20, such as a serial advancedtechnology attachment (SATA) bus.

In the embodiment illustrated in FIG. 2, flash manager device 136controls interfacing of flash memory device 135 with high-speed datapath 138 and is connected to flash memory device 135 via a NANDinterface bus 139. System-on-chip 131 includes microprocessor-basedcontroller 133 and other hardware (including read/write channel 137) forcontrolling operation of disk drive 100, and is connected to RAM 134 andflash manager device 136 via high-speed data path 138.Microprocessor-based controller 133 is a control unit that may include amicrocontroller such as an ARM microprocessor, a hybrid drivecontroller, and any control circuitry within disk drive 100. High-speeddata path 138 is a high-speed bus known in the art, such as a doubledata rate (DDR) bus, a DDR2 bus, a DDR3 bus, or the like.

In general, data storage devices with rotatable storage disks, such asdisk drives, can be configured to minimize energy use by changing tolower power-consumption states when the data storage device is not beingused to satisfy read or write commands from a host device. This isparticularly true for disk drives used in battery-powered devices, suchas laptop computers. For example, when a data storage device has notreceived host commands for a predetermined time period, the data storagedevice may change from an active servo state to an intermediate powerconsumption state, a park state, or a standby state. In contrast,according to various embodiments, a data storage device changes from afirst power consumption state to a second power consumption state basedon a time interval in which a rotatable storage disk or disks of thedata storage device are not accessed to satisfy read or write commands.For example, in reference to disk drive 100 illustrated in FIGS. 1 and2, when read or write commands are exclusively satisfied using RAM 134and/or flash memory device 135, actuator arm assembly 120, voice coilmotor 128, spindle motor 114, read/write channel 137 and/ormicroprocessor-based controller 133 may be operated at a lower powerconsumption state, since storage disk 110 is not being accessed.

FIG. 3 illustrates a power-state diagram 300 for disk drive 100 thatincludes multiple power states and power state transitions of disk drive100. Power states in power-state diagram 300 include an active servostate 310, an intermediate power consumption state 320, a park state330, a standby state 340, and a sleep state 350. State transitions inpower-state diagram 300 include a float timer expiration 311, a standbytransition 312, a sleep command 313, a park timer expiration 321, and anactive servo transition 341. While the elements of power-state diagram300 are described in terms of disk drive 100, it should be recognizedthat power-state diagram 300 is applicable to any suitable data storagedevice that includes a rotatable storage disk.

Active servo state 310 represents normal operation of disk drive 100 tofacilitate the execution of read and write commands, either from host 10or initiated by disk drive 110 itself. In active servo state 310, theservo system of disk drive 100 actively controls the position ofread/write head 127 with respect to individual tracks on storage disk110, using voice coil motor 128, actuator arm 124, and read/writechannel 137. It is noted that disk drive 100 may be in active servostate 310 when read or write commands are not being serviced by diskdrive 100. However, because significant electrical energy is used bymicroprocessor-based controller 133 and read/write channel 137 in activeservo state 310, in some embodiments, disk drive 100 changes to a lowerpower consumption state when one or more conditions are met. As shown inFIG. 3, these conditions may include one or more of: float timerexpiration 311, standby transition 312, and sleep command 313.

When float timer expiration 311 occurs, disk drive 100 changes fromactive servo state 310 to intermediate power consumption state 320,which is described below. Float timer expiration 311 can be configuredto take effect when no commands are satisfied by accessing storage disk110 for more than a predetermined period of time. For example, a typicalduration for such a predetermined time period may be approximately 50 to150 milliseconds. In some embodiments, a float timer is started when acommand, i.e., a read or write command, is satisfied by accessingstorage disk 110. The float timer is reset to zero and restarted when areceived command is satisfied by accessing storage disk 110. Thus, floattimer expiration 311 takes effect when the float timer exceeds thepredetermined time period described above, and disk drive 100 changes tointermediate power consumption state 320. In some embodiments, any reador write commands satisfied by accessing storage disk 110 resets thefloat timer to zero, and in other embodiments, only read or writecommands that are both satisfied by accessing storage disk 110 and thatare received from host 10 reset the float timer to zero.

It is noted that commands (either received by disk drive 100 from host10 or initiated by disk drive 100 itself) that are satisfied withoutaccessing storage disk 110 do not reset the above-described float timer.Consequently, even though read and/or write commands are frequentlyreceived by disk drive 100 from host 10 and/or initiated by disk drive100, portions of disk drive 100 associated with storage disk 110 can bechanged from active servo state 310 to intermediate power consumptionstate 320 when said commands are satisfied by accessing RAM 134 and/orflash memory device 135 but not storage disk 110.

When standby transition 312 occurs, disk drive 100 changes from acurrent energy consumption state to standby state 340, in which diskdrive 100 spins down storage disk 110, read/write head 127 is parked,and disk drive 100 expends essentially no energy on mechanicaloperations. Standby transition 312 may occur when disk drive 100 is inone of several power states, including active servo state 310,intermediate power consumption state 320, and park state 330. In someembodiments, standby transition 312 can be configured to take effectwhen either one of two conditions are met: 1) no commands from host 10are satisfied by accessing storage disk 110 for more than apredetermined period of time, and 2) when a “standby” command isreceived from host 10. In other embodiments, standby transition 312 canbe configured to take effect when: 1) no commands from host 10 orinitiated by disk drive 100 are satisfied by accessing storage disk 110for more than a predetermined period of time, and 2) when a “standby”command is received from host 10.

Generally, the predetermined period of time associated with standbytransition 312 is substantially longer than that associated with floattimer expiration 311. For example, a typical duration of time associatedwith initiating standby transition 312 can be on the order of severalminutes rather than milliseconds. In some embodiments, a standby timeris started when a command is satisfied by accessing storage disk 110,and the standby timer is reset to zero and restarted when a command isnext satisfied by accessing storage disk 110. In other embodiments, thestandby timer is started when a command received from host 10 issatisfied by accessing storage disk 110, while a command that isinitiated by disk drive 110 and is satisfied by accessing storage disk110 does not reset the standby timer to zero.

When standby transition 312 occurs, i.e., when the standby timer exceedsthe predetermined time period described above, disk drive 100 changes tostandby state 340. In some embodiments, commands that are 1) received bydisk drive 100 from host 10 or initiated by disk drive 100 itself, and2) are satisfied without accessing storage disk 110, do not generallyreset the herein-described standby timer.

Sleep command 313, when received from host 10, causes disk drive 100 tochange from a current power state to sleep state 340. Sleep command 313may occur when disk drive 100 is in one of several power states,including active servo state 310, intermediate power consumption state320, and park state 330.

Intermediate power consumption state 320, in which the servo system ofdisk drive 100 is not used to provide continuous position control ofread/write head 127, uses less power than active servo state 310 andmore power than park state 330. For example, in some embodiments,microprocessor-based controller 133 may apply a predetermined constantbias to voice coil motor 128 to hold read/write head 127 in place,thereby “floating” read/write head 127 rather than actively servoing theposition of read/write head 127. In alternative embodiments, alow-frequency servo mode may be used in intermediate power consumptionstate 320, in which limited servo control is used to position read/writehead 127 in an approximate location. For example, the servo system ofdisk drive 100 may be activated for a single or a relatively smallnumber of samples for each revolution of storage disk 110, so that theposition of read/write head 127 is approximately known without therelatively high energy cost associated with constantly servoingread/write head 127 over a particular data storage track of storage disk110.

While using less energy than active servo state 310, intermediate powerconsumption state 320 allows relatively fast response to read or writecommands that involve accessing storage disk 110. For example, when diskdrive 100 is in intermediate power consumption state 320 and receives aread or write command, seeking to a desired location on storage disk 110in response to said command can be completed in a few milliseconds to afew tens of milliseconds. In contrast, when disk drive is in park state320, seeking to a desired location on storage disk 110 in response tosaid command generally requires a few hundred milliseconds. In someembodiments, disk drive 100 changes from intermediate power consumptionstate 320 to a lower power consumption state when one or more conditionsare met. As shown in FIG. 3, these conditions may include one or moreof: standby transition 312, sleep command 313 (both described above) andpark timer expiration 321.

When park timer expiration 321 occurs, disk drive 100 changes fromintermediate power consumption state 320 to park state 330. In parkstate 330, storage disk 110 continues to spin at the normal rotationalvelocity, but read/write head 127 is parked to reduce aerodynamicresistance to spinning the data storage disk. In this way, currentrequired for the rotation of storage disk 110 is reduced. Furthermore,in park state 330, read/write head 127 is protected from mechanicalshock experienced by disk drive 100. Park timer expiration 321 can beconfigured to take effect when no commands are satisfied by accessingstorage disk 110 for more than a predetermined period of time.Alternatively, park timer expiration 321 can be configured to takeeffect when no commands from host 10 are satisfied by accessing storagedisk 110 for more than a predetermined period of time.

Generally, the predetermined period of time associated with park timerexpiration 321 is substantially longer than that associated with floattimer expiration 311. For example, a typical duration of time associatedwith park timer expiration 321 can be on the order of several minutesrather than the milliseconds associated with float timer expiration 311.In some embodiments, a park timer is started when a command is satisfiedby accessing storage disk 110, and the park timer is reset to zero andrestarted when a command is satisfied by accessing storage disk 110.When park timer expiration 321 occurs, i.e., when the park timer exceedsthe predetermined time period described above, disk drive 100 changes topark state 330. It is noted that commands that are satisfied withoutaccessing storage disk 110 do not generally reset the herein-describedpark timer. Said commands can be either received by disk drive 100 fromhost 10 or initiated by disk drive 100 itself, such as when controller133 determines that data stored in flash memory device 135 should bewritten on data storage disk 110.

In addition to changing to a lower power consumption state when certainevents occur, e.g., float timer expiration 311, standby transition 312,sleep command 313, and park timer expiration 321, disk drive 100 mayalso change to a higher power consumption state when certain eventsoccur. Specifically, when active servo transition 341 occurs, disk drive100 may be configured to change to active servo state 310, as shown inFIG. 3. In some embodiments, active servo transition 341 takes placewhen a read or write command is satisfied by accessing storage disk 110.For example, if a current version of the data associated with a readcommand from host 10 is not stored in RAM 134 or flash memory 135,storage disk 110 is accessed by microprocessor-based controller 133 tosatisfy said read command. Thus, even when disk drive 100 is in a lowpower consumption state, such as standby state 340 or park state 330,disk drive 100 changes to active servo state 310 so that storage disk110 can be accessed to satisfy the command received from host 10.

In some embodiments, disk drive 100 may change to active servo state 310in response to data being flushed to storage disk 110 from flash memorydevice 135. For example, when disk drive 100 is configured as a hybriddrive, a portion of flash memory device 135 may be used to store “dirty”data, which are data that are only stored in flash memory device 135 andare not also stored on storage disk 110. Furthermore, disk drive 100 mayalso be configured to maintain a predetermined maximum threshold for theportion of flash memory device 135 used to store dirty data. When saidmaximum threshold is exceeded, disk drive 100 generally “flushes” excessdirty data to storage disk 110, i.e., disk drive 100 writes acorresponding copy of the excess dirty data on storage disk 110, andflags the copied data in flash memory device 135 as “non-dirty” data.Thus, in some situations, disk drive 100 may flush dirty data to storagedisk 110, even though disk drive 100 is in intermediate powerconsumption state 320, park state 330, or standby state 340. In suchsituations, disk drive 100 changes to active servo state 310 so that thedata flushing process can be performed. For example, after disk drive100 changes to a lower power consumption state as a result of floattimer expiration 311, standby transition 312, sleep command 313, or parktimer expiration 321, host 10 may then send write commands to disk drive100. Ordinarily, disk drive 100 may accept write data directly intoflash memory device 135 to prevent activating the portions of disk drive100 associated with storage disk 110. However, if flash memory device135 is full or already stores the maximum allowable quantity of dirtydata, microprocessor-based controller 133 will change the power state ofdisk drive 100 to active servo state 310 and begin to copy dirty data inflash memory device 135 to storage disk 110.

In some embodiments, storage disk 110 may be accessed as a result ofother activities besides in response to commands from host 10.Advantageously, in such embodiments, timers for measuring time elapsedsince storage disk 110 was last accessed in response to a host commandmay not be affected when storage disk 110 is accessed as a result ofsaid non-host related activities. For example, dirty data being flushedfrom flash memory device 135 or RAM 134 may be considered such non-hostrelated activities.

FIG. 4 sets forth a flowchart of method steps for power management in adata storage device that includes a magnetic storage device, accordingto one or more embodiments. Although the method steps are described inconjunction with disk drive 100 in FIGS. 1 and 2, persons skilled in theart will understand that method 400 may be performed with other types ofdata storage systems. The control algorithms for method 400 may residein and/or be performed by microprocessor-based controller 133, host 10,or any other suitable control circuit or system. For clarity, method 400is described in terms of microprocessor-based controller 133 performingsteps 410-450.

As shown, method 400 begins at step 410, where microprocessor-basedcontroller 133 or other suitable control circuit or system receives acommand that requires access to storage disk 110. For example, thecommand received in step 410 may be a read command when the onlyup-to-date version of data associated with the read command is stored onstorage disk 110. In another example, the command received in step 410may be a write command, where insufficient storage space is available inflash memory device 135 and/or RAM 134 for storing the data associatedwith the write command. In yet another example, the command received instep 410 may be a flush-cache command from host 10 requesting that diskdrive 100 flush some or all dirty data in flash memory device 135 and/orRAM 134 to storage disk 110. In yet another example, the commandreceived in step 410 may be a write command initiated by disk drive 100itself, such as when flash memory device 135 stores equal to or greaterthan a maximum desired quantity of dirty data.

In step 420, microprocessor-based controller 133 controls access tostorage disk 110 in response to the command received in step 410. Instep 420, data are written to and/or read from storage disk 110 tosatisfy the command received in step 410.

In step 430, microprocessor-based controller 133 starts a timer functionor other technically feasible time measurement technique in response tostorage disk 110 being accessed in step 420. Generally, the timerfunction is started upon completion of access to storage device 110 instep 420, but in some embodiments may be started in conjunction withsaid access.

In step 440, microprocessor-based controller 133 checks the timeinterval measured by the timer function started in step 430. In someembodiments, step 440 is performed periodically, for example every 10milliseconds. When the time interval measured by said timer functionexceeds a predetermined value, i.e., a desired time interval haselapsed, method 400 proceeds to step 441. When the time intervalmeasured by said timer function does not exceed the predetermined value,i.e., the desired time interval has not yet elapsed, method 400 proceedsto step 450.

According to various embodiments, the time interval in question isassociated with one of the power state transitions to a lower powerconsumption state, as described above in conjunction with FIG. 3.Specifically, in some embodiments, the time interval referenced in step440 is the time associated with float timer expiration 311, and maytherefore be on the order of 10s to 100s of milliseconds in duration. Inother embodiments, the time interval referenced in step 440 is the timeassociated with standby transition 312, and may therefore be on theorder of a few minutes, to 10s of minutes in duration, and in someinstances may be defined by host 10. In yet other embodiments, the timeinterval referenced in step 440 is the time associated with park timerexpiration 321, and may therefore be on the order of a few minutes orlonger in duration.

In step 441, microprocessor-based controller 133 changes the power stateof disk drive 100 from the current power state, e.g., active servo state310, to a desired lower power consumption state, such as intermediatepower consumption state 320, park state 330, or standby state 340. Insome embodiments, in step 441 additional power management processesdescribed herein may be initiated, such as checking for a conditioncausing disk drive 110 to change to an even lower energy consumptionstate, such as standby state 340. In such embodiments, the condition maybe an elapsed time since storage disk 110 has been accessed in order tosatisfy a command. For clarity, blocks illustrating such an additionalpower management process are omitted from FIG. 4.

In some embodiments, during the course of method 400 disk drive 100 maybe changed to standby state 340 in response to a standby command fromhost 10. In such embodiments, when a standby command is received bymicroprocessor-based controller 133 from host 10, microprocessor-basedcontroller 133 terminates method 400 and immediately changes disk drive10 to standby state 340.

In step 450, microprocessor-based controller 133 determines whetheraccess to storage disk 110 has been requested in order to satisfy acommand received since step 420. If such a request has been received bymicroprocessor-based controller 133, method 400 proceeds back to step420, where said command is satisfied by accessing storage disk 110. Ifsuch a request has not been received by microprocessor-based controller133 since step 420, method 400 proceeds back to step 440, as shown inFIG. 4.

It is noted that in step 450, one or more commands may be received bydisk drive 100 since step 420 without resetting the timer functionstarted in step 430, as long as storage disk 110 is not accessed inresponse to said host commands. For example, read or write commands fromhost 10 that are satisfied using RAM 134 and/or flash memory device 135do not reset the timer function in step 401. Similarly, in someembodiments, flushing of dirty data from flash memory device 135 tostorage disk 110, when performed internally as a non-host relatedactivity by disk drive 100, does not reset said timer function. In otherembodiments, flushing of dirty data from flash memory device 135 tostorage disk 110, when performed internally as a non-host relatedactivity by disk drive 100, resets the some timer functions (e.g., afloat timer for float timer expiration 311 or a park timer for parktimer expiration 321), but not for others (e.g., a standby timer forstandby transition 312). Furthermore, it is noted that method 400 may beused to change disk drive 100 to any of the power states associated withdisk drive 100 that are lower in power consumption than active servostate 310, including intermediate power consumption state 320, parkstate 330, and standby state 340.

While various embodiments described herein are in terms of a hard diskdrive, embodiments also include data storage devices that include a datastorage disk, such as an optical disk drive, etc.

In sum, embodiments described herein provide systems and methods forpower management in a data storage device. The data storage deviceselects one or more power states of the magnetic storage device based ona time interval during which the magnetic storage device is not accessedin response to a host command. Consequently, the magnetic storage devicecan be advantageously changed to a lower power consumption state eventhough the data storage device is actively serving a host device.

While the foregoing is directed to specific embodiments, other andfurther embodiments may be devised without departing from the basicscope thereof, and the scope thereof is determined by the claims thatfollow.

We claim:
 1. A method of power management in a data storage device thatincludes a magnetic storage device, the method comprising: measuring atime interval since a most recent time data has been read from orwritten to the magnetic storage device; and in response to the timeinterval exceeding a predetermined value, changing a current powerconsumption state of the magnetic storage device to a lower powerconsumption state.
 2. The method of claim 1, wherein the time intervalmeasured is a time interval since a most recent time data has been readfrom or written to the magnetic storage device to satisfy a hostcommand.
 3. The method of claim 2, wherein the current power consumptionstate comprises an active servo state and the lower power consumptionstate comprises an intermediate power consumption state that uses lesspower than the active servo state and more power than a parked state. 4.The method of claim 3, wherein the intermediate power consumption statecomprises a float state in which a servo system of the magnetic storagedevice is not used to provide continuous position control of aread/write head of the magnetic storage device.
 5. The method of claim3, wherein the intermediate power consumption state comprises alow-frequency servo state in which a servo system of the magneticstorage device provides position control of a read/write head of themagnetic storage device using no more than a portion of the servo wedgeson a storage disk of the magnetic storage device.
 6. The method of claim1, wherein the current power consumption state comprises an intermediatepower consumption state that uses less power than the active servo stateand more power than a parked state.
 7. The method of claim 6, whereinthe lower power consumption state comprises one of a standby state inwhich a storage disk of the magnetic storage device is not spinning anda parked state in which a read/write head of the magnetic storage deviceis parked.
 8. The method of claim 1, wherein the current powerconsumption state comprises a parked state in which a read/write head ofthe magnetic storage device is parked.
 9. The method of claim 8, whereinthe lower power consumption state comprises a standby state in which astorage disk of the magnetic storage device is not spinning.
 10. Themethod of claim 1, further comprising, during the time interval in whichthe magnetic storage device is not accessed: receiving one or morecommands; and satisfying the one or more commands using at least one ofa volatile solid-state memory of the data storage device and anon-volatile solid-state memory device of the data storage device.
 11. Adata storage device, comprising: a magnetic storage device; and acontroller configured to: measure a time interval since a most recenttime data has been read from or written to the magnetic storage device;and in response to the time interval exceeding a predetermined value,change a current power consumption state of the magnetic storage deviceto a lower power consumption state.
 12. The data storage device of claim11, wherein the time interval measured is a time interval since a mostrecent time data has been read from or written to the magnetic storagedevice to satisfy a host command.
 13. The data storage device of claim12, wherein the current power consumption state comprises an activeservo state and the lower power consumption state comprises anintermediate power consumption state that uses less power than theactive servo state and more power than a parked state.
 14. The datastorage device of claim 11, wherein the current power consumption statecomprises an intermediate power consumption state that uses less powerthan the active servo state and more power than a parked state.
 15. Thedata storage device of claim 14, wherein the lower power consumptionstate comprises one of a standby state in which a storage disk of themagnetic storage device is not spinning and a parked state in which aread/write head of the magnetic storage device is parked.
 16. The datastorage device of claim 11, wherein the current power consumption statecomprises a parked state in which a read/write head of the magneticstorage device is parked.
 17. The data storage device of claim 16,wherein the lower power consumption state comprises a standby state inwhich a storage disk of the magnetic storage device is not spinning. 18.The data storage device of claim 11, wherein the controller is furtherconfigured to, during the time interval in which the magnetic storagedevice is not accessed: receive one or more commands; and satisfy theone or more commands using one of a volatile solid-state memory of thedata storage device, a non-volatile solid-state memory device of thedata storage device, and a combination of both.
 19. A data storagedevice, comprising: a magnetic storage device; a non-volatilesolid-state device; and a controller configured to: determine that aportion of the non-volatile solid-state device used to store data thatare not also stored on the magnetic storage device is greater than apredetermined value; change a power state of the magnetic storage devicefrom an initial power state to an active servo state, the initial powerstate being a lower power state than the active servo state; and controlthe writing to the magnetic storage device of at least a portion of thedata that are not also stored on the magnetic storage device.
 20. Thedata storage device of claim 19, wherein the controller is furtherconfigured to, while the magnetic storage device is at the initial powerstate, control the writing of data from a host device to thenon-volatile solid-state device.